package com.atguigu.lease.common.handler;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;
@Component
public class StgyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {//metaObject表示正在被新增的对象元数据
        //也可以获取对象的 指定属性值
//        this.getFieldValByName("createTime",metaObject);
        //如果对象有createTime的set方法，才自动填充设置属性值
        if(metaObject.hasSetter("createTime")){
            metaObject.setValue("createTime" , new Date());
        }
        if(metaObject.hasSetter("updateTime")){
            metaObject.setValue("updateTime" , new Date());

        }
    }

    //2、更新时自动填充触发的回调
    @Override
    public void updateFill(MetaObject metaObject) {
        if(metaObject.hasSetter("updateTime")){
            metaObject.setValue("updateTime" , new Date());

        }
    }
}
